1) パッケージの導入と準備

パッケージのインストール

install.packages("readxl", repos = "https://cloud.r-project.org")
install.packages("dplyr", repos = "https://cloud.r-project.org")

利用準備

library(readxl)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

2) データ読み込み

Excelファイルの読み込み

df1 <- read_excel("data.xlsx")

データの表示

View(df1)

3) データの前処理

二重造影像の面積率(S値)を中央値で二分する

df2 <- df1 %>%
  mutate(面積率 = if_else(S >= median(S), "大きい", "小さい"))
View(df2)

4) 分割表の作成

両肩当て左向き手技とS値の大小

cross1 <- addmargins(table(df2$両肩当て左向き, df2$面積率))
rownames(cross1)[rownames(cross1) == "Sum"] <- "合計"
colnames(cross1)[colnames(cross1) == "Sum"] <- "合計"
cross1 <- cross1[c("実施", "未実施", "合計"), c("大きい", "小さい", "合計")]
cross1
##         
##          大きい 小さい 合計
##   実施      107     43  150
##   未実施     43    107  150
##   合計      150    150  300

4) オッズ比

オッズ比

\[ \text{OR} = \frac{a/c}{b/d} = \frac{a \cdot d}{b \cdot c} \]

値の代入とオッズ比の算出

a <- cross1["実施", "大きい"]
b <- cross1["実施", "小さい"]
c <- cross1["未実施", "大きい"]
d <- cross1["未実施", "小さい"]
OR <- (a * d) / (b * c)
OR
## [1] 6.191996